package com.daoliuhe.scaffold.mapper;

import com.daoliuhe.scaffold.model.UserGroup;
import com.daoliuhe.scaffold.model.UserGroupUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

@Mapper
public interface UserGroupMapper {

    int deleteByPrimaryKey(BigDecimal id);

    int insert(UserGroup record);

    int insertSelective(UserGroup record);

    UserGroup selectByPrimaryKey(BigDecimal id);

    int updateByPrimaryKeySelective(UserGroup record);

    int updateByPrimaryKey(UserGroup record);

    /**
     * 根据名称查询用户组
     * @return
     */

    UserGroup selectByName(String name);

    /**
     * 根据条件查询用户组记录数
     * @return
     */

    int getPageCount(UserGroup userGroup);

    /**
     * 根据条件查询用户组分页
     * @return
     */

    List<UserGroup> getPageData(UserGroup userGroup);

    /**
     * 用户组批量启用
     * @return
     */
    void updateBatchEnable(@Param("list") ArrayList<String> ids);

    /**
     * 用户组批量禁用
     * @return
     */
    void updateBatchDisable(@Param("list") ArrayList<String> ids);

    /**
     * 获取用户的用户组数量（分页）
     * @return
     */

    int getUserGroupPageCountByUser(UserGroupUser ugu);

    /**
     * 获取用户的用户组分页
     * @return
     */

    List<UserGroup> getUserGroupPageDataByUser(UserGroupUser ugu);

}